package teste;

import dao.AutorDao;
import dao.AutorDaoImpl;
import dao.CategoriaDao;
import dao.CategoriaDaoImpl;
import dao.GrauDificuldadeDao;
import dao.GrauDificuldadeDaoImpl;
import dao.IngredienteDao;
import dao.IngredienteDaoImpl;
import dao.ReceitaDao;
import dao.ReceitaDaoImpl;
import dao.RendimentoDao;
import dao.RendimentoDaoImpl;
import dao.TempoDao;
import dao.TempoDaoImpl;
import dao.UnidadeMedidaDao;
import dao.UnidadeMedidaDaoImpl;
import model.Autor;
import model.Categoria;
import model.GrauDificuldade;
import model.Ingrediente;
import model.Receita;
import model.Rendimento;
import model.Tempo;
import model.UnidadeMedida;

/**
 *
 * @author Chris
 */
public class IncluirCadastros {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {


// <editor-fold defaultstate="collapsed" desc="Insere Autores">
        /**
         * Insere Autores
         */
        AutorDao autorDao = new AutorDaoImpl();
        String[] nomeAutor = {"Christiane", "Maria", "João"};

        Autor autor = null;

        for (int i = 0; i < nomeAutor.length; i++) {
            autor = new Autor();
            autor.setNome(nomeAutor[i]);
            autorDao.incluir(autor);
        }
        System.out.println("Total de registros de Autores cadastrados: " + autorDao.getAutores().size());
        // </editor-fold>

// <editor-fold defaultstate="collapsed" desc="Insere Categorias">
        /**
         * Insere Categorias
         */
        CategoriaDao catDao = new CategoriaDaoImpl();
        String[] descricaoCat = {"Sopas", "Massas", "Sobremesas"};

        Categoria cat = null;

        for (int i = 0; i < descricaoCat.length; i++) {
            cat = new Categoria();
            cat.setDescricao(descricaoCat[i]);
            catDao.incluir(cat);
        }
        System.out.println("Total de registros de Categorias cadastradas: " + catDao.getCategorias().size());
        // </editor-fold>

// <editor-fold defaultstate="collapsed" desc="Insere Grau de Dificuldade">
        /**
         * Insere Grau Dificuldade
         */
        GrauDificuldadeDao grauDificuldadeDao = new GrauDificuldadeDaoImpl();
        String[] descricao = {"Facil", "Medio", "Dificil"};

        GrauDificuldade grauDificuldade = null;

        for (int i = 0; i < descricao.length; i++) {
            grauDificuldade = new GrauDificuldade();
            grauDificuldade.setDescricao(descricao[i]);
            grauDificuldadeDao.incluir(grauDificuldade);
        }
        System.out.println("Total de registros de Graus de Dificuldades cadastrados: " + grauDificuldadeDao.getGrauDificuldades().size());// </editor-fold>

// <editor-fold defaultstate="collapsed" desc="Insere Rendimento">
        /**
         * Insere Rendimento
         */
        RendimentoDao rendimentoDao = new RendimentoDaoImpl();
        String[] descricaoRendimento = {"Porção", "Pedaços", "Litro"};
        String[] quantidade = {"1", "5", "1"};

        Rendimento rendimento = null;

        for (int i = 0; i < descricaoRendimento.length; i++) {
            rendimento = new Rendimento();
            rendimento.setDescricao(descricaoRendimento[i]);
            rendimento.setQuantidade(quantidade[i]);
            rendimentoDao.incluir(rendimento);
        }
        System.out.println("Total de registros de Rendimentos cadastrados: " + rendimentoDao.getRendimentos().size());
        // </editor-fold>

// <editor-fold defaultstate="collapsed" desc="Insere Tempo">
        /**
         * Insere Tempo
         */
        TempoDao tempoDao = new TempoDaoImpl();
        String[] descricaoTempo = {"Tempo de Preparo", "Tempo de Cozimento", "Tempo de Formo"};
        String[] quantidadeTempo = {"30 minutos", "50 minutos", "35 minutos"};

        Tempo tempo = null;

        for (int i = 0; i < descricaoTempo.length; i++) {
            tempo = new Tempo();
            tempo.setDescricao(descricaoTempo[i]);
            tempo.setQuantidade(quantidadeTempo[i]);
            tempoDao.incluir(tempo);
        }
        System.out.println("Total de registros de Tempos cadastrados: " + tempoDao.getTempos().size());
        // </editor-fold>

// <editor-fold defaultstate="collapsed" desc="Insere Unidade de Medida">
        /**
         * Insere Unidade de Medida
         */
        UnidadeMedidaDao unidadeDao = new UnidadeMedidaDaoImpl();
        String[] descricaoUnidade = {"Colher Sopa", "Colher de Chá", "Xícara"};

        UnidadeMedida unidadeMedida = null;

        for (int i = 0; i < descricaoTempo.length; i++) {
            unidadeMedida = new UnidadeMedida();
            unidadeMedida.setDescricao(descricaoUnidade[i]);
            unidadeDao.incluir(unidadeMedida);
        }
        System.out.println("Total de registros de Unidades de Medidas cadastradas: " + unidadeDao.getUnidadeMedidas().size());
        // </editor-fold>

// <editor-fold defaultstate="collapsed" desc="Insere Ingrediente">
        /**
         * Insere Ingrediente
         */
        IngredienteDao ingredienteDao = new IngredienteDaoImpl();
        String[] descricaoIngrediente = {"Açucar Refinado", "Farinha de Trigo", "Ovos"};
        String[] quantidadeIngrediente = {"1", "100", "3"};

        Ingrediente ingrediente = null;

        for (int i = 0; i < descricaoIngrediente.length; i++) {
            ingrediente = new Ingrediente();
            ingrediente.setDescricao(descricaoIngrediente[i]);
            ingrediente.setQuantidade(quantidadeIngrediente[i]);
            ingrediente.setUnidadeMedida(unidadeDao.getUnidadeMedidas().get(i));
            ingredienteDao.incluir(ingrediente);
        }
        System.out.println("Total de registros de Ingredientes cadastrados: " + ingredienteDao.getIngredientes().size());// </editor-fold>

// <editor-fold defaultstate="collapsed" desc="Insere Receita">
        /**
         * Insere Receita
         */
        ReceitaDao receitaDao = new ReceitaDaoImpl();
        String[] tituloReceita = {"Bolo Integral com Castanhas", "Bolo de Cenoura", "Macarrão"};
        String[] modoPreparo = {"Numa tigela... Junte...", "Numa tigela...", "Aqueça... Em seguida..."};

        Receita receita = null;

        for (int i = 0; i < tituloReceita.length; i++) {
            receita = new Receita();
            receita.setAutor(autorDao.getAutores().get(i));
            receita.setCategoria(catDao.getCategorias().get(i));
            receita.setGrauDificuldade(grauDificuldadeDao.getGrauDificuldades().get(i));
            receita.setIngrediente(ingredienteDao.getIngredientes().get(i));
            receita.setModoPreparo(modoPreparo[i]);
            receita.setRendimento(rendimentoDao.getRendimentos().get(i));
            receita.setTempo(tempoDao.getTempos().get(i));
            receita.setTituloReceita(tituloReceita[i]);
            receitaDao.incluir(receita);
        }
        System.out.println("Total de registros de Receitas cadastradas: " + receitaDao.getReceitas().size());
        // </editor-fold>
    }
}
